# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.1046.1.339 -> 1.1046.1.340 # mm/swap.c 1.53 -> 1.54 # mm/slab.c 1.94 -> 1.95 # kernel/sched.c 1.198 -> 1.199 # kernel/timer.c 1.63 -> 1.64 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 03/07/14 sri@us.ibm.com 1.1046.512.2 # [SCTP] Update API names to be compatible with draft-ietf-tsvwg-sctpsocket-07.txt. # -------------------------------------------- # 03/07/15 davem@nuts.ninka.net 1.1046.516.6 # [TCP/IPV6]: Check for anycast where we check for multicast. # -------------------------------------------- # 03/07/15 rmk@flint.arm.linux.org.uk 1.1046.520.1 # [PCMCIA] Fix suspend for yenta_socket and i82092. # # pcmcia_socket_dev_suspend() should be called with SUSPEND_SAVE_STATE # if the level is unknown. # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.521.1 # [AGPGART] Handle Intel chipsets whose BIOS has 'forgotten' to assign resources. # From Hamish Coleman. # The HP NetServer E60 being a 'server' decided it didn't need to set up # the GART. With this patch, it becomes usable again. # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.521.2 # [AGPGART] Fix Nforce modular compilation. # I really don't like exporting this, but right now its the cleanest way. # It will go away at some point. # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.3 # [CPUFREQ] Update MAINTAINERS/CREDITS # Dominik doesn't want maintainership any more (besides him still doing # lots of great work on it. 8-) # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.4 # [CPUFREQ] Sparse __user annotations for acpi driver. # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.5 # [CPUFREQ] Fix sparse warnings in powernow-k7 # -------------------------------------------- # 03/07/15 paulus@samba.org 1.1046.519.2 # PPC32: Add some more system calls - tgkill, utimes, [f]statfs64. # # Patch from Anton Blanchard. Also reserves a syscall for swapcontext # and updates the _syscallN macros. # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.6 # [CPUFREQ] sparse __user annotation for cpufreq userspace interface. # -------------------------------------------- # 03/07/15 paulus@samba.org 1.1046.519.3 # PPC32: Add SEMTIMEDOP. Patch from Anton Blanchard. # -------------------------------------------- # 03/07/15 paulus@samba.org 1.1046.519.4 # PPC32: Eliminate duplicate variable declarations in arch/ppc/kernel/time.c # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.7 # [CPUFREQ] Fix PPC compilation failure. # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.8 # [CPUFREQ] longhaul printk cleanups # - missing KERN_INFO's # - Use PFX. # -------------------------------------------- # 03/07/15 paulus@samba.org 1.1046.519.5 # PPC32: Fix compilation of powermac CPU frequency switching support. # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.9 # [CPUFREQ] Better handling of revisionKey bits on Longhaul. # We aren't supposed to blindly copy them from another part of the same # register, but instead, only program them with values we know about. # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.10 # [CPUFREQ] Move MSRs from powernow-k7.h to include/asm-i386/msr.h # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.11 # [CPUFREQ] Remove CVS idents. # These are totally pointless as most of the development is now done either # in bitkeeper, or patches directly to mainline. # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.12 # [CPUFREQ] Move rdmsrl/wrmsrl to include/asm-i386/msr.h # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.13 # [CPUFREQ] Clean up longhaul MSR usage using bitfields. # # -------------------------------------------- # 03/07/15 lord@sgi.com 1.1046.511.14 # [XFS] remove extra locking which was folded into the xfs extended # attribute calls - we do not need this. # # SGI Modid: 2.5.x-xfs:slinx:153279a # -------------------------------------------- # 03/07/15 davej@codemonkey.org.uk 1.1046.518.14 # [CPUFREQ] Convert Longhaul v1 over to bitfields too. # -------------------------------------------- # 03/07/15 nathans@sgi.com 1.1046.511.15 # [XFS] Ensure the VFS doesn't rip the inode out from beneath # us when doing unwritten extent conversion # # SGI Modid: 2.5.x-xfs:slinx:153113a # -------------------------------------------- # 03/07/15 sandeen@sgi.com 1.1046.511.16 # [XFS] Use C99 initializers on sysctl structs # # SGI Modid: 2.5.x-xfs:slinx:152435a # -------------------------------------------- # 03/07/15 lord@jen.americas.sgi.com 1.1046.511.17 # Encapsulate the setting and clearing of PF_FSTRANS around xfs # transactions. This is used to protect against nested transactions # which can cause deadlocks. Also ensures we keep the state set # for the duration of a chain of rolling transactions. # -------------------------------------------- # 03/07/15 greg@kroah.com 1.1046.514.2 # [PATCH] PCI: fix problem with pci remove functions not being built if CONFIG_HOTPLUG was not set # # This fixes a build problem on sparc, and hopefully will prevent this from # happening in the future... # -------------------------------------------- # 03/07/15 nathans@sgi.com 1.1046.511.18 # [XFS] Avoid doing the page->mapping->host dereferences twice on writepage # # SGI Modid: 2.5.x-xfs:slinx:152717a # -------------------------------------------- # 03/07/15 nathans@sgi.com 1.1046.511.19 # [XFS] Fix couple of issues in max file size calculation, print big fs setting too # # SGI Modid: 2.5.x-xfs:slinx:152972a # -------------------------------------------- # 03/07/15 nathans@sgi.com 1.1046.511.20 # [XFS] Cleanup empty/noaddr pagebuf initialisation; particularly for buffers used for log IO - no longer allocate buffers for data device then reset target, gets it right from the start. # # SGI Modid: 2.5.x-xfs:slinx:153115a # -------------------------------------------- # 03/07/15 davej@tetrachloride.(none) 1.1046.518.15 # Cset exclude: davej@codemonkey.org.uk|ChangeSet|20030715115826|58980 # -------------------------------------------- # 03/07/15 davidm@tiger.hpl.hp.com 1.1046.1.340 # Cset exclude: davidm@tiger.hpl.hp.com|ChangeSet|20030711020407|51156 # Cset exclude: davidm@tiger.hpl.hp.com|ChangeSet|20030709222337|34756 # -------------------------------------------- # diff -Nru a/kernel/sched.c b/kernel/sched.c --- a/kernel/sched.c Mon Sep 22 13:01:55 2003 +++ b/kernel/sched.c Mon Sep 22 13:01:56 2003 @@ -176,7 +176,7 @@ static DEFINE_PER_CPU(struct runqueue, runqueues); #define cpu_rq(cpu) (&per_cpu(runqueues, (cpu))) -#define this_rq() (cpu_rq(smp_processor_id())) /* not __get_cpu_var(runqueues)! */ +#define this_rq() (&__get_cpu_var(runqueues)) #define task_rq(p) cpu_rq(task_cpu(p)) #define cpu_curr(cpu) (cpu_rq(cpu)->curr) #define rt_task(p) ((p)->prio < MAX_RT_PRIO) diff -Nru a/kernel/timer.c b/kernel/timer.c --- a/kernel/timer.c Mon Sep 22 13:01:56 2003 +++ b/kernel/timer.c Mon Sep 22 13:01:56 2003 @@ -160,7 +160,7 @@ */ void add_timer(struct timer_list *timer) { - tvec_base_t *base = &per_cpu(tvec_bases, get_cpu()); + tvec_base_t *base = &get_cpu_var(tvec_bases); unsigned long flags; BUG_ON(timer_pending(timer) || !timer->function); @@ -171,7 +171,7 @@ internal_add_timer(base, timer); timer->base = base; spin_unlock_irqrestore(&base->lock, flags); - put_cpu(); + put_cpu_var(tvec_bases); } /*** @@ -234,7 +234,7 @@ return 1; spin_lock_irqsave(&timer->lock, flags); - new_base = &per_cpu(tvec_bases, smp_processor_id()); + new_base = &__get_cpu_var(tvec_bases); repeat: old_base = timer->base; @@ -792,7 +792,7 @@ */ static void run_timer_softirq(struct softirq_action *h) { - tvec_base_t *base = &per_cpu(tvec_bases, smp_processor_id()); + tvec_base_t *base = &__get_cpu_var(tvec_bases); if (time_after_eq(jiffies, base->timer_jiffies)) __run_timers(base); diff -Nru a/mm/slab.c b/mm/slab.c --- a/mm/slab.c Mon Sep 22 13:01:55 2003 +++ b/mm/slab.c Mon Sep 22 13:01:55 2003 @@ -2457,7 +2457,7 @@ static void reap_timer_fnc(unsigned long data) { int cpu = smp_processor_id(); - struct timer_list *rt = &per_cpu(reap_timers, cpu); + struct timer_list *rt = &__get_cpu_var(reap_timers); cache_reap(); mod_timer(rt, jiffies + REAPTIMEOUT_CPUC + cpu); diff -Nru a/mm/swap.c b/mm/swap.c --- a/mm/swap.c Mon Sep 22 13:01:55 2003 +++ b/mm/swap.c Mon Sep 22 13:01:55 2003 @@ -113,35 +113,34 @@ void lru_cache_add(struct page *page) { - struct pagevec *pvec = &per_cpu(lru_add_pvecs, get_cpu()); + struct pagevec *pvec = &get_cpu_var(lru_add_pvecs); page_cache_get(page); if (!pagevec_add(pvec, page)) __pagevec_lru_add(pvec); - put_cpu(); + put_cpu_var(lru_add_pvecs); } void lru_cache_add_active(struct page *page) { - struct pagevec *pvec = &per_cpu(lru_add_active_pvecs, get_cpu()); + struct pagevec *pvec = &get_cpu_var(lru_add_active_pvecs); page_cache_get(page); if (!pagevec_add(pvec, page)) __pagevec_lru_add_active(pvec); - put_cpu(); + put_cpu_var(lru_add_active_pvecs); } void lru_add_drain(void) { - int cpu = get_cpu(); - struct pagevec *pvec = &per_cpu(lru_add_pvecs, cpu); + struct pagevec *pvec = &get_cpu_var(lru_add_pvecs); if (pagevec_count(pvec)) __pagevec_lru_add(pvec); - pvec = &per_cpu(lru_add_active_pvecs, cpu); + pvec = &__get_cpu_var(lru_add_active_pvecs); if (pagevec_count(pvec)) __pagevec_lru_add_active(pvec); - put_cpu(); + put_cpu_var(lru_add_pvecs); } /*